---
title: 서버에서 엔드포인트 호출
description: Astro의 서버에서 엔드포인트를 호출하는 방법을 알아보세요.
i18nReady: true
type: recipe
---
import { Steps } from '@astrojs/starlight/components';

엔드포인트는 다양한 종류의 데이터를 제공하는 데 사용될 수 있습니다. 이 레시피는 추가 fetch 요청 없이 페이지의 컴포넌트 스크립트에서 서버 엔드포인트를 호출하여 인사말을 표시합니다.

## 전제 조건

- [SSR](/ko/guides/on-demand-rendering/) (output: 'server')이 활성화된 프로젝트가 필요합니다.

## 레시피

<Steps>
1. 일부 데이터를 반환하는 새 파일 `src/pages/api/hello.ts`에 엔드포인트를 생성합니다.

    ```ts title="src/pages/api/hello.ts"
    import type { APIRoute } from 'astro'

    export const GET: APIRoute = () => {
      return new Response(
        JSON.stringify({
          greeting: 'Hello',
        }),
      )
    }
    ```

2. Astro 페이지의 엔드포인트에서 `GET()` 메서드를 가져옵니다. 요청 컨텍스트를 제공하기 위해 [`Astro` global](/ko/reference/api-reference/)을 인자로 전달하여 이 메서드를 호출합니다. 그러면 이 응답을 페이지에서 사용할 수 있습니다.

    ```astro title="src/pages/index.astro"
    ---
    import { GET } from './api/hello.ts'

    let response = await GET(Astro)
    const data = await response.json()
    ---

    <h1>{data.greeting} world!</h1>
    ```
</Steps>
